Management of securable computing resources

ABSTRACT

A locking element for use with a cable having a plug insertable into a plug receiver of a housing is provided. The locking element includes a connector body connected to the plug and including a receiving feature insertable through an aperture of the housing. The locking element further includes a locking feature configured to assume one of a locked condition in which the locking feature locks onto the receiving feature or prevents insertion of the receiving feature through the aperture and an unlocked condition in which the locking feature unlocks the receiving feature or permits insertion of the receiving feature through the aperture and an actuator coupled to the locking feature and configured to control the locking feature to assume the one of the locked and unlocked conditions.

BACKGROUND

The present invention generally relates to computing resources andsafes, and more specifically, to management of securable computingresources and safes.

Modern cloud service providers and data centers include large numbers ofcomputers and other similar components that are housed in largefacilities. Within those facilities, various cables are connected toeach of the computers to allow for the computers to receive power and tocommunicate various types of data with each other and with externaldevices.

SUMMARY

Embodiments of the present invention are directed to a locking elementfor use with a cable having a plug insertable into a plug receiver of ahousing. A non-limiting example of the locking element includes aconnector body connected to the plug and including a receiving featureinsertable through an aperture of the housing. The locking elementfurther includes a locking feature configured to assume one of a lockedcondition in which the locking feature locks onto the receiving featureor prevents insertion of the receiving feature through the aperture andan unlocked condition in which the locking feature unlocks the receivingfeature or permits insertion of the receiving feature through theaperture and an actuator coupled to the locking feature and configuredto control the locking feature to assume the one of the locked andunlocked conditions.

Embodiments of the present invention are directed to a locking assembly.A non-limiting example of the locking assembly includes a housingdefining an aperture and comprising a plug receiver, a cable including aplug insertable into the plug receiver, a connector body connected tothe plug and including a receiving feature insertable through theaperture. The locking assembly further includes a locking featureconfigured to assume one of a locked condition in which the lockingfeature locks onto the receiving feature or prevents insertion of thereceiving feature through the aperture and an unlocked condition inwhich the locking feature unlocks the receiving feature or permitsinsertion of the receiving feature through the aperture and an actuatorcoupled to the locking feature and configured to control the lockingfeature to assume the one of the locked and unlocked conditions.

Embodiments of the present invention are directed to a method ofoperating a locking assembly of a computing resource. A non-limitingexample of the method includes determining whether an operator isauthorized to manipulate a cable relative to the computing resource,commanding an actuator to cause a locking feature to prevent the cablefrom being unplugged from or plugged into the computing resource in anevent the determining indicates that the operator is unauthorized tounplug the cable from or to plug the cable into the computing resourceand commanding the actuator to cause the locking feature to permit thecable to be unplugged from or plugged into the computing resource in anevent the determining indicates that the operator is authorized tounplug the cable from or to plug the cable into the computing resource.

Additional technical features and benefits are realized through thetechniques of the present invention. Embodiments and aspects of theinvention are described in detail herein and are considered a part ofthe claimed subject matter. For a better understanding, refer to thedetailed description and to the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The specifics of the exclusive rights described herein are particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The foregoing and other features and advantages ofthe embodiments of the invention are apparent from the followingdetailed description taken in conjunction with the accompanying drawingsin which:

FIG. 1 illustrates a schematic illustration of a system of computingresources in accordance with embodiments of the present invention;

FIG. 2 illustrates a schematic diagram of components of the computingresources of FIG. 1 in accordance with embodiments of the presentinvention;

FIG. 3 is a schematic illustration of ports of the computing resourcesof FIG. 1 in accordance with embodiments of the present invention;

FIG. 4 is a perspective view of a cable and a locking element ofcomputing resources in accordance with embodiments of the presentinvention;

FIG. 5 is another perspective view of the cable and the locking elementof FIG. 4 in accordance with embodiments of the present invention;

FIG. 6 is an enlarged perspective view of the locking element of FIGS. 4and 5 in accordance with embodiments of the present invention;

FIG. 7 is a flow diagram illustrating a method of operating a lockingassembly of a computing resource in accordance with embodiments of thepresent invention;

FIG. 8 is a schematic illustration of a system of computing resources inaccordance with embodiments of the present invention;

FIG. 9 is a flow diagram illustrating a method of operating the systemof FIG. 8 in accordance with embodiments of the present invention;

FIG. 10 is a schematic illustration of an expansion of the system ofFIG. 8 in accordance with embodiments of the present invention;

FIG. 11 is a schematic diagram of a system including a common interfacein accordance with embodiments of the present invention;

FIG. 12 is a flow diagram illustrating a method of operating a systemwith a common interface in accordance with embodiments of the presentinvention;

FIG. 13 is a schematic diagram of a system including a physicalauthentication interface in accordance with embodiments of the presentinvention;

FIG. 14 is a flow diagram illustrating a method of operating a systemwith a physical authentication interface in accordance with embodimentsof the present invention;

FIG. 15 is a perspective view of a cable and a locking element ofcomputing resources in accordance with embodiments of the presentinvention; and

FIG. 16 is another perspective view of the cable and the locking elementof FIG. 15 in accordance with embodiments of the present invention.

The diagrams depicted herein are illustrative. There can be manyvariations to the diagrams or the operations described therein withoutdeparting from the spirit of the invention. For instance, the actionscan be performed in a differing order or actions can be added, deletedor modified. Also, the term “coupled” and variations thereof describehaving a communications path between two elements and do not imply adirect connection between the elements with no interveningelements/connections between them. All of these variations areconsidered a part of the specification.

DETAILED DESCRIPTION

One or more embodiments of the present invention provide systems andmethods for controlling locks to thereby manage the plugging-in andunplugging of various types of cables and inserts into and fromcomputing and other types of resources.

In modern cloud service providers and data centers, large numbers ofcomputers and other similar components are housed in large facilities.Within those facilities, various cables are connected to each of thecomputers to allow for the computers to receive power and to communicatevarious types of data with each other and with external devices. Theconnections of each of these and other cables to the computers need tobe frequently inspected and sometimes serviced, repaired or replaced.This is time consuming and can result in malfunctions in an event one ormore connections are handled incorrectly or at inappropriate times. Assuch, management of the connections of the cables and the other cablesto each of the computers in modern cloud service providers and datacenters is highly important for insuring that the computers are operatedproperly and without failures.

One or more embodiments of the present invention provide systems andmethods for management of the connections to each of the computers inmodern cloud service providers and data centers or other similarsecurable components. This insures that the computers and the othersimilar securable components are operated properly and without failures.

Turning now to FIG. 1, a system 101 is generally shown in accordancewith one or more embodiments of the present invention. The system 101includes one or more computing or securable resources (hereinafterreferred to as “computing resources”) 110. The system 101 could beprovided as a cloud service, a shared data center, etc. in any case,each computing resource 110 can be provided as a safe 111, a server 112that is housed in a rack 113 or another similar feature. The safe 111can be controlled and monitored through software based mitigationsystems. All requests to access the resources within the safe 111 wouldneed to be registered and authenticated before the attempt would beapproved or denied. If a user wished to unlock the safe 111, they wouldneed to pass proper identification, such as a finger print, PIN code,etc., to a controller which would then evaluate the information and openthe lock should the user possess the correct authority.

As shown in FIG. 1, the computing resources 110 can be, but are notrequired to be, arranged in rows and columns across one or more floors114. In each row or column, each of the computing resources 110 can becoupled to one or more cables 115. The cables 115 can include, but arenot limited to, communication cables and power cables and can carryvarious signals, such as power signals, data signals, etc.

With reference to FIG. 2, each of the computing resources 110 caninclude a set of drawers 201 where each drawer 201 can include a serviceprocessor (SP) 202 and one or more central processors (CPs) 203 that arecommunicative with the SP 202. Each SP 202 of each drawer 201 can beinterconnected with the SPs 202 of the other drawers 201 and each CP 203of each drawer 201 can be communicative with memory units and can form alogical cluster alone or in combination with other CPs 203.

With continued reference to FIG. 2 and with additional reference to FIG.3, one or more of the drawers 201 of each computing resource 110 caninclude one or more ports 301, storage devices 302 and communications,memory or peripheral cards 303. The ports 301 can provide direct orindirect access to the storage devices 302 and the communications,memory and peripheral cards 303. Each of the ports 301 can be providedas a plug receiver 310 that a plug 320 of a cable 321 can be pluggedinto. The cable 321 can be provided as one or more of a power cable, anEthernet cable, a fiber optic cable, a telecommunications cable, etc.,such that the cable 321 can effectively be plugged into the computingresource 110.

With reference to FIGS. 4 and 5, a computing resource 110 as describedabove can include a housing 116 that is formed to define an aperture 117and the system 101 of FIG. 1 can further include, for each cable 321 andeach computing resource 110, a locking element 401. Here, each cable 321can include the plug 320, a connector body 3201 and a receiving feature3202. The connector body 3201 can extend outwardly and laterally fromthe plug 320 and the receiving feature 3202 can extend forwardly fromthe connector body 3201. With this or a similar construction, when theplug 320 is inserted into the plug receiver 310, the receiving feature3202 is correspondingly inserted into the housing 116 through theaperture 117. In accordance with embodiments of the present invention,the receiving feature 3202 can be formed as an elongate element with anotch 3203 (see FIG. 6) at a distal end thereof.

With continued reference to FIGS. 4 and 5 and with additional referenceto FIG. 6, the locking element 401 includes a locking feature 410 and anactuator 420. The locking feature 410 is configured to assume a lockedcondition or an unlocked condition. In the locked condition, the lockingfeature 410 engages with the notch 3203 of the plug 320 of the cable 321such that the cable 321 is locked to the computing resource 110 andcannot be unplugged. Alternatively, in the locked condition, the lockingfeature 410 blocks passage of the receiving feature 3202 through theaperture 117 such that the locking feature 410 effectively prevents theplug 320 of the cable 321 from being inserted into the plug receiver 310of the computing resource 110. In the unlocked condition, the lockingfeature 410 disengages from the notch 3203 of the plug 320 of the cable321 such that the cable 321 is unlocked from the computing resource 110and can be unplugged. Alternatively, in the unlocked condition, thelocking feature 410 permits passage of the receiving feature 3202through the aperture 117 such that the locking feature 410 effectivelypermits the plug 320 of the cable 321 to be inserted into the plugreceiver 310 of the computing resource 110.

The actuator 420 is coupled to the locking feature 410 and is configuredto control the locking feature 410 to assume the one of the locked andunlocked conditions. In accordance with embodiments of the presentinvention, the actuator 420 can be provided as a linear actuator or as arotary actuator 4201 as shown in FIG. 6. In the case of the actuator 420being provided as the rotary actuator 4201, the rotary actuator 4201 caninclude an output shaft 610 and a physical locking feature 620. Thephysical locking feature 620 is coupled to the output shaft 610 andincludes one or more of a latch 621 that is configured for engagementwith the receiving feature 3202 of the cable 321 (to either lock thecable 321 in place or to prevent insertion of the cable 321) and a pinconfigured for insertion into the receiving feature 3202. In the formercase, the rotary actuator 4201 is configured to rotate the output shaft610 in first and second opposite directions whereby the latch 621 isrotationally moved into or out of locking and unlocking positions withrespect to the notch 3203.

As shown in FIGS. 4 and 5, the locking feature 410 and the actuator 420can be disposed within an interior of the housing 116. It is to beunderstood, however, that this is not required and that embodimentsexist in which at least one of the locking feature 410 and the actuator420 are disposed at an exterior of the housing 116 (see FIGS. 15 and 16and accompanying text below). Where the actuator 420 is disposed withinthe interior of the housing 116, the actuator 420 can be disposed on aprinted circuit board (PCB) 421. This PCB 421 can include variousprocessing elements and can generate commands for operating the actuator420 whereby the actuator 420 is receptive of commands from the PCB 421.

With continued reference to FIG. 6 and with reference back to FIGS. 2and 3, one or more of the SP 202 and one or more of the CPs 203 of eachdrawer 201 of each computing resource 110 can be configured tocooperatively define or act as a controller 630. The controller 630 canbe embodied as a generic hardware management console (HMC) 631, ageneric service element (SE) 632 or as another suitable form. In anycase, the controller 630 can be configured to define rules for users ofthe system 101 (see FIG. 1) where the rules are associated withrespective IDs of each of the users and established criteria associatedwith each user for operating the locking elements 401. The rules can,for example, set forth times when one or more of the users of the system101 are authorized to manipulate (i.e., unplug or plug in) one or morecables 321 relative to one or more computing resources 110. Thus, thecontroller 630 can cause locking features 410 of corresponding lockingelements 401 to assume the unlocked conditions during those times. Thatis, the controller 630 effectively causes the locking feature 410 ofeach of the locking elements 401 to assume one of the locked andunlocked conditions in accordance with respective IDs of users and thecriteria established for each user.

In accordance with embodiments of the present invention, the computingresource 110 can be provided as a server in which various systemsmanagement operations are executed via the HMC 631 and the SE 632. Anexample of such systems management operations is configurationmanagement. This relates to techniques, resources and tools used toinitialize, configure, customize and maintain hardware, including theinput/output (I/O) resources (network, storage, etc.). Both the HMC 631and the SE 632 can be configured with user management interfaces for afirst set of users defined to the HMC 631 and a second set of userdefined to the SE 632. The first and second sets of users haveassociated privilege levels that define what operations (or tasks) theyare permitted to do with respect to the computing resource.

With reference to FIG. 7, a method of operating a locking assembly of acomputing resource, such as a computing resource 110 as describedherein, is provided. The method includes operations that can be executedas an OS level or higher of the computing resource 110. As shown in FIG.7, the method includes determining whether an operator is authorized tomanipulate a cable relative to the computing resource (block 701). Themethod further includes commanding an actuator to cause a lockingfeature of a locking assembly to assume a locked condition to preventthe cable from being unplugged from or plugged into the computingresource in an event the determining indicates that the operator isunauthorized to unplug the cable from or to plug the cable into thecomputing resource (block 702). In addition, the method includescommanding the actuator to cause the locking feature of the lockingassembly to assume the unlocked condition to permit the cable to beunplugged from or plugged into the computing resource in an event thedetermining indicates that the operator is authorized to unplug thecable from or to plug the cable into the computing resource (block 703).

In accordance with exemplary embodiments of the present invention, “HMCusers” and “SE users” can be defined to have rules associated to theiruser IDs that would lock or unlock a cable based on the “cable criteria”associated with each of them. For example, an “HMC user,” admincasey,can be permitted to remove or insert cables for a certain card for acertain computing resource between certain hours of the day, Fridaythrough Sunday. This “HMC user,” admincasey, is not permitted to removeor insert cables into other cards for the certain computing resource atany other time or day of the week. Furthermore, the “HMC user,”admincasey, is not permitted to remove or insert cables into any otherphysical port, in any other computing resource. Thus, when the “HMCuser,” admincasey, successfully logs in to the HMC 631 on Saturday at 4AM, he or she will be able to successfully issue a cable command tounlock the cable locks for which he or she is authorized. However, ifthe “HMC user,” admincasey, issues a cable command to unlock any othercable in any other location, the cable lock will not unlock because heor she is not permitted to unlock or lock those cables. Similar schemescan be used for the SE users.

Modern software systems often rely heavily upon various authenticationmethods to mitigate security risks and data integrity issues.Traditional embodiments of this concept exist strictly within thesoftware domain protecting assets such as account numbers, passwords andother sensitive information. To gain access to these assets, there are awide variety of techniques such as PINs, passwords, encryption andbiometrics. Existing implementations, such as accessing a locked mobiledevice, will pass identification information through to the underlyingOS or security product to authenticate the user to the desired resource.

With reference to FIG. 8, a system 801 is provided and can include oneor more securable resources 810, such as computing resources or a safesor some other similar elements, locking elements 820 similar to thelocking element 401 described above and a controller 830 similar to thecontroller 630 described above. The controller 830 is receptive of aninstruction 831 to authorize users to unlock one or more of the one ormore securable resources 810. The controller 830 is further configuredto perform OS level authentication of the users and OS level control ofthe one or more locking elements 401 in accordance with the instruction831 to authorize users and the OS level authentication.

As shown in FIG. 8, the instruction 831 is received from an externalcommunication and can be received via one or more of an access controlsystem or service (ACSS) interface 832 and a change mode (CHMOD)interface 833. The instruction 810 can be one of time sensitive andcondition dependent. The OS level authentication of the users can beperformed by the controller 830 performing one or more of fingerprintand pin code OS level authentication at fingerprint and pin codeverification elements 8301 and 8302. The OS level control of the one ormore locking elements 82 can be performed by the controller 830 wherebythe controller 830 causes the one or more locking elements 820 to assumethe respective unlocked conditions in accordance with a requesting userbeing authorized by the instruction 831 to authorize users and beingauthenticated by the OS level authentication by the controller 830.

An example of the system 801 of FIG. 8 can be seen in a physical lock ona safe which is controlled and monitored through software basedmitigation systems as noted above. All requests to access the resourceswithin the safe would need to be registered and authenticated before theattempt would be approved or denied. If a user wished to unlock thesafe, they would need to pass proper identification, such as a fingerprint, PIN code, etc., to the controlling OS which would then evaluatethe information and open the lock should the user possess the correctauthority. This notion can be extrapolated to other physical resourcesas well including input/output (I/O) ports, storage devices andcommunication cards. An employee in a company may be granted temporaryauthority to add or remove devices. This authority can be time sensitiveto limit access to only during the employee's shift or duringemergencies such as a system outage or other critical situation. Anadministrator or other authorized user would be required to authorizethese users via standard interfaces in the controlling operating systemsuch as ACSS or CHMOD. Having additional physical information protectionwill prevent and mitigate unauthorized access from malicious users anddisgruntled employees trying to cause physical harm to a set ofresources or attempting to steal information.

With reference to FIG. 9, a method of operating a system, such as thesystem 801 of FIG. 8, is provided. As shown in FIG. 9, the methodincludes controlling locking elements to assume locked conditionswhereby corresponding securable resources are locked by the lockingelements (block 901), receiving an instruction to authorize users tounlock one or more of the securable resources (block 902) and receivinga request from a user to unlock and thereby gain access to one or moreof the securable resources (block 903). The method further includesdetermining whether the user is authorized to unlock and thereby gainaccess to the one or more of the securable resources associated with therequest (block 904), performing operating system (OS) levelauthentication of the user (block 905) and performing OS level controlof the corresponding locking elements in accordance with the user beingdetermined to be authorized and authenticated (block 906).

As demand for content and services continues to grow, more machines andresources are utilized in data centers and other computing centers. Acommon problem in these areas is having machines fail and necessitatethat a replacement be installed and configured quickly to maintainavailability to the end customer. As machines are added and removed to alarge network of devices working in unison, wires and cables are neededto enable proper communications. During maintenance and updates to thesemachines, sometimes the incorrect wire is removed or one is added to anincorrect port causing outages, delays and other damages.

Thus, with reference to FIG. 10, the system 801 of FIG. 8 can beexpanded to include one or more resources, such as safes 1001 andcomputing resources 1002, where each of the one or more resourcesincludes multiple independently securable resources, such as separateinteriors 1003 of the safe 1001 and one or more of power and datacommunication cables which are insertable into ports, storage devices orcommunications cards 1004 of the computing resource 1002. In accordancewith embodiments of the present invention, the instruction 831 (see FIG.8) for the safe 1001 can relate to the locks of one or more but notnecessarily all of the separate interiors 1003 and the instruction 831(see FIG. 8) for the computing resource 1002 can similarly relate to oneor more but not necessarily all of the various components of thecomputing resource 1002. In the cases of the resources of FIG. 10, thesystem 801 of FIG. 8 operates substantially similarly as describedabove.

In accordance with exemplary embodiments of the present invention, aphysical access port on a securable resource can be guarded by physicallocks and risk mitigation systems that can only be removed through theauthorization of a software based system such as ACSS or CHMOD. A usecase may be that a communication cable needs to be replaced between aserver and communications router. A system administrator may authorize aspecific user to remove a specific cable by unlocking only the requiredport on the server. This will prevent accidental or maliciousdisconnects from healthy communications on the server as physical locksor pins will restrict access to other resources and devices interfacingwith the desired server. The result is an increase in reliability andsecurity for devices operating within a test floor or data center whereconfigurations are constantly changing and maintenance is alwaysongoing.

With increasing requirements for computing power and data storage, cloudproviders are relying more and more on data centers that include avariety of tools and machines. Each unique tool or device usuallyrequires a skilled technician or employee to manage and configure it foroptimal use so customers receive reliable and secure services. Amultitude of security measures are often implemented to preventunauthorized access to sensitive resources. Each resource often hasunique protections in place that users must authenticate against inorder to manage the system. This generally leads to redundantauthentication steps and lost time as an authorized employee must startthe process over from scratch as they jump between systems to performrequired maintenance.

With reference to FIG. 11, a common interface 1101 can be provided foruse with the controller 630 or the controller 830 described above aswell as additional controllers 1102, which are separate and independentfrom the controller 630 or 830 and one another. The controller 630 or830 and the additional controllers 1102 are tied to the common interface1101 and the common interface 1101 is configured to authenticate theusers. To this end, the common interface 1101 can be embodied in ahypervisor or a multiplexer and can include one or more of a graphicaluser interface (GUI) 1110 and a physical authentication interface 1120that, in turn, can include one or more of an RFID badge authenticationinterface 1121 and a fingerprint identification device 1122. In these orother cases, the controller 630 or 830 is configured to perform OS levelcontrol of locking elements in accordance with at least anauthentication of the users by the common interface 1101.

With reference to FIG. 12, a method of operating a system, such assystem 101 of FIG. 1 or system 801 of FIG. 8 is provided. As shown inFIG. 12, the method includes controlling locking elements to assumelocked conditions whereby corresponding securable resources are lockedby the locking elements (block 1201), receiving an instruction toauthorize users to unlock one or more of the securable resources (block1202), receiving a request from a user to unlock and thereby gain accessto one or more of the securable resources (block 1203) and determiningwhether the user is authorized to unlock and thereby gain access to theone or more of the securable resources associated with the request(block 1204). In addition, the method includes receiving an indicationof authentication of the user from a common interface (block 1205) andperforming OS level control of the corresponding locking elements inaccordance with the user being determined to be authorized and theindication of the authentication of the user being received (block1206).

The OS level authentication provided by to the common interface 1101allows an authorized user to authenticate once to gain access to allnecessary resources. This will, for example, allow a systemadministrator to perform maintenance on cables or communication devicesthat interface across multiple systems within the data center. If anunauthorized or disgruntled employee attempts to access resources,physical locks and security devices will prevent them from removing oraltering cables and connections across these sensitive resources. Onlyauthorized users will be allowed to rewire and maintain devices withinthe data center at the discretion of a system administrator.

Many devices are now incorporating hardware based authentication schemesto minimize vulnerabilities and security risks while accessing certainresources. Most modern mobile devices, for example, employ biometricssuch as a finger print scanner or facial recognition software toauthenticate specific users to the contents of the device. These metricsgenerally tend to interface with a security product to grant or denyaccess to specific software resources such as bank account informationand other sensitive data. Many physical assets may also be protected bybiometrics or other physical protections such as RFID badging. Thesesystems tend to work off of standalone or proprietary validation systemswhich often times have delayed responses or simple work arounds such astailgating through a badge locked door.

With reference to FIG. 13, a physical authentication interface 1301 canbe provided for use with the controller 630 or the controller 830described above. In these or other cases, the physical authenticationinterface 1301 can be configured to enable or disable a capability ofthe controller 630 or 830 to perform the OS level authentication. Inaccordance with embodiments of the present invention, the physicalauthentication interface 1301 can include one or more of an RFID badgeauthentication interface 1310 and biometrics, such as a fingerprintidentification device 1320.

With reference to FIG. 14, a method of operating a system, such assystem 101 of FIG. 1 or system 801 of FIG. 8 is provided. As shown inFIG. 14, the includes controlling locking elements to assume lockedconditions whereby corresponding securable resources are locked by thelocking elements (block 1401), receiving an instruction to authorizeusers to unlock one or more of the securable resources (block 1402),receiving a request from a user to unlock and thereby gain access to oneor more of the securable resources (block 1403) and determining whetherthe user is authorized to unlock and thereby gain access to the one ormore of the securable resources associated with the request (block1404). In addition, the method includes determining whether OS levelauthentication capability is enabled or disabled by, for example,receiving an indication thereof from a physical authentication interface(block 1405), performing the OS level authentication of the user in anevent the OS level authentication capability is enabled (block 1406) andperforming OS level control of the corresponding locking elements inaccordance with the user being determined to be authorized andauthenticated (block 1407).

With reference to FIGS. 15 and 16 and, in accordance with embodiments ofthe present invention, at least one of the locking feature 410 and theactuator 420 can be disposed at an exterior of the housing 116. Here,again, each cable 321 can include the plug 320, the connector body 3201and the receiving feature 3202. The connector body 3201 can extendoutwardly and laterally from the plug 320 and the receiving feature 3202can be formed as a pocket 3204. With this or a similar construction,when the plug 320 is inserted into the plug receiver 310, the receivingfeature 3202 is disposed adjacent to an exterior facing surface of thehousing 116. The locking feature 410 is configured to assume a lockedcondition or an unlocked condition. In the locked condition, the lockingfeature 410 engages with the pocket 3204 such that the cable 321 islocked to the computing resource 110 and cannot be unplugged (see FIG.15). Alternatively, in the locked condition, the locking feature 410blocks passage of the receiving feature 3202 such that the lockingfeature 410 effectively prevents the plug 320 from being inserted intothe plug receiver 310. In the unlocked condition, the locking feature410 disengages from the pocket 3204 such that the cable 321 is unlockedfrom the computing resource 110 and can be unplugged (see FIG. 16).Alternatively, in the unlocked condition, the locking feature 410permits passage of the receiving feature 3202 such that the lockingfeature 410 effectively permits the plug 320 to be inserted into theplug receiver 310.

The actuator 420 is coupled to the locking feature 410 and is configuredto control the locking feature 410 to assume the one of the locked andunlocked conditions. In accordance with embodiments of the presentinvention, the actuator 420 can be provided as a linear actuator or as arotary actuator 4201 as shown in FIGS. 15 and 16. In the case of theactuator 420 being provided as the rotary actuator 4201, the rotaryactuator 4201 can include an output shaft 610 that extends to anexterior of the housing 116 and a physical locking feature 620. Thephysical locking feature 610 is coupled to the output shaft 610 at theexterior of the housing 116 and is configured for engagement with thereceiving feature 3202 of the cable 321 (to either lock the cable 321 inplace or to prevent insertion of the cable 321). The rotary actuator4201 is configured to rotate the output shaft 610 in first and secondopposite directions to be rotationally moved into or out of locking andunlocking positions with respect to the pocket 3204.

Various embodiments of the invention are described herein with referenceto the related drawings. Alternative embodiments of the invention can bedevised without departing from the scope of this invention. Variousconnections and positional relationships (e.g., over, below, adjacent,etc.) are set forth between elements in the following description and inthe drawings. These connections and/or positional relationships, unlessspecified otherwise, can be direct or indirect, and the presentinvention is not intended to be limiting in this respect. Accordingly, acoupling of entities can refer to either a direct or an indirectcoupling, and a positional relationship between entities can be a director indirect positional relationship. Moreover, the various tasks andprocess steps described herein can be incorporated into a morecomprehensive procedure or process having additional steps orfunctionality not described in detail herein.

One or more of the methods described herein can be implemented with anyor a combination of the following technologies, which are each wellknown in the art: a discrete logic circuit(s) having logic gates forimplementing logic functions upon data signals, an application specificintegrated circuit (ASIC) having appropriate combinational logic gates,a programmable gate array(s) (PGA), a field programmable gate array(FPGA), etc.

For the sake of brevity, conventional techniques related to making andusing aspects of the invention may or may not be described in detailherein. In particular, various aspects of computing systems and specificcomputer programs to implement the various technical features describedherein are well known. Accordingly, in the interest of brevity, manyconventional implementation details are only mentioned briefly herein orare omitted entirely without providing the well-known system and/orprocess details.

In some embodiments, various functions or acts can take place at a givenlocation and/or in connection with the operation of one or moreapparatuses or systems. In some embodiments, a portion of a givenfunction or act can be performed at a first device or location, and theremainder of the function or act can be performed at one or moreadditional devices or locations.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting. As used herein, thesingular forms “a”, “an” and “the” are intended to include the pluralforms as well, unless the context clearly indicates otherwise. It willbe further understood that the terms “comprises” and/or “comprising,”when used in this specification, specify the presence of statedfeatures, integers, steps, operations, elements, and/or components, butdo not preclude the presence or addition of one or more other features,integers, steps, operations, element components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thepresent disclosure has been presented for purposes of illustration anddescription, but is not intended to be exhaustive or limited to the formdisclosed. Many modifications and variations will be apparent to thoseof ordinary skill in the art without departing from the scope and spiritof the disclosure. The embodiments were chosen and described in order tobest explain the principles of the disclosure and the practicalapplication, and to enable others of ordinary skill in the art tounderstand the disclosure for various embodiments with variousmodifications as are suited to the particular use contemplated.

The diagrams depicted herein are illustrative. There can be manyvariations to the diagram or the steps (or operations) described thereinwithout departing from the spirit of the disclosure. For instance, theactions can be performed in a differing order or actions can be added,deleted or modified. Also, the term “coupled” describes having a signalpath between two elements and does not imply a direct connection betweenthe elements with no intervening elements/connections therebetween. Allof these variations are considered a part of the present disclosure.

The following definitions and abbreviations are to be used for theinterpretation of the claims and the specification. As used herein, theterms “comprises,” “comprising,” “includes,” “including,” “has,”“having,” “contains” or “containing,” or any other variation thereof,are intended to cover a non-exclusive inclusion. For example, acomposition, a mixture, process, method, article, or apparatus thatcomprises a list of elements is not necessarily limited to only thoseelements but can include other elements not expressly listed or inherentto such composition, mixture, process, method, article, or apparatus.

Additionally, the term “exemplary” is used herein to mean “serving as anexample, instance or illustration.” Any embodiment or design describedherein as “exemplary” is not necessarily to be construed as preferred oradvantageous over other embodiments or designs. The terms “at least one”and “one or more” are understood to include any integer number greaterthan or equal to one, i.e. one, two, three, four, etc. The terms “aplurality” are understood to include any integer number greater than orequal to two, i.e. two, three, four, five, etc. The term “connection”can include both an indirect “connection” and a direct “connection.”

The terms “about,” “substantially,” “approximately,” and variationsthereof, are intended to include the degree of error associated withmeasurement of the particular quantity based upon the equipmentavailable at the time of filing the application. For example, “about”can include a range of ±8% or 5%, or 2% of a given value.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instruction by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdescribed herein.

1. A locking element for use with a cable having a plug insertable intoa plug receiver of a housing, the locking element comprising: aconnector body connected at a base thereof to only a side of the plugand comprising a receiving feature insertable through an aperture of thehousing; a locking feature configured to assume one of a lockedcondition in which the locking feature locks onto the receiving featureor prevents insertion of the receiving feature through the aperture andan unlocked condition in which the locking feature unlocks the receivingfeature or permits insertion of the receiving feature through theaperture; and an actuator coupled to the locking feature and configuredto control the locking feature to assume the one of the locked andunlocked conditions.
 2. The locking element according to claim 1,wherein the housing is a housing of a computing resource and the cablecomprises one or more of an Ethernet cable, an optical cable, atelecommunications cable and a power cable.
 3. The locking elementaccording to claim 1, wherein: the connector body extends laterally fromthe side of the plug, and the receiving feature is provided as anelongate element extending forwardly from a distal portion of theconnector body and comprises a notched portion which is inserted throughthe aperture of the housing without the connector body being pivotedrelative to the plug, without the elongate element being pivotedrelative to the connector body and with the plug being inserted into theplug receiver of the housing.
 4. The locking element according to claim1, wherein the locking feature is disposed within an interior of thehousing or at an exterior of the housing.
 5. The locking elementaccording to claim 1, wherein the actuator is disposed within aninterior of the housing.
 6. The locking element according to claim 1,wherein: the actuator is supportively disposed on a printed circuitboard (PCB) within an interior of the housing, and the actuator isreceptive of commands from the PCB.
 7. The locking element according toclaim 1, wherein the actuator comprises a rotary actuator.
 8. Thelocking element according to claim 1, wherein the actuator comprises: anoutput shaft; and a physical locking feature coupled to the outputshaft.
 9. The locking element according to claim 8, wherein the physicallocking feature comprises one or more of a latch configured forengagement with the receiving feature and a pin configured for insertioninto the receiving feature.
 10. A locking assembly, comprising: ahousing defining an aperture and comprising a plug receiver; a cablecomprising a plug insertable into the plug receiver; a connector bodyconnected at a base thereof to only a side of the plug and comprising areceiving feature insertable through the aperture; a locking featureconfigured to assume one of a locked condition in which the lockingfeature locks onto the receiving feature or prevents insertion of thereceiving feature through the aperture and an unlocked condition inwhich the locking feature unlocks the receiving feature or permitsinsertion of the receiving feature through the aperture; and an actuatorcoupled to the locking feature and configured to control the lockingfeature to assume the one of the locked and unlocked conditions.
 11. Thelocking assembly according to claim 10, wherein the housing is a housingof a computing resource and the cable comprises one or more of anEthernet cable, an optical cable, a telecommunications cable and a powercable.
 12. The locking assembly according to claim 10, wherein: theconnector body extends laterally from the side of the plug, and thereceiving feature is provided as an elongate element extending forwardlyfrom a istal portion of the connector body and comprises a notchedportion which is inserted through the aperture of the housing withoutthe connector body being pivoted relative to the plug, without theelongate element being pivoted relative to the connector body and withthe plug being inserted into the plug receiver of the housing.
 13. Thelocking assembly according to claim 10, wherein the locking feature isdisposed within an interior of the housing or at an exterior of thehousing.
 14. The locking assembly according to claim 10, wherein theactuator is disposed within an interior of the housing.
 15. The lockingassembly according to claim 10, wherein: the actuator is supportivelydisposed on a printed circuit board (PCB) within an interior of thehousing, and the actuator is receptive of commands from the PCB.
 16. Thelocking assembly according to claim 10, wherein the actuator comprises arotary actuator.
 17. The locking assembly according to claim 10, whereinthe actuator comprises: an output shaft; and a physical locking featurecoupled to the output shaft.
 18. The locking assembly according to claim17, wherein the physical locking feature comprises one or more of alatch configured for engagement with the receiving feature and a pinconfigured for insertion into the receiving feature.
 19. A method ofoperating a locking assembly of a computing resource, the methodcomprising: determining whether an operator is authorized to plug acable into the computing resource; commanding an actuator to cause alocking feature to prevent the cable from being plugged into thecomputing resource in an event the determining indicates that theoperator is unauthorized to plug the cable into the computing resource;and commanding the actuator to cause the locking feature to permit thecable to be plugged into the computing resource in an event thedetermining indicates that the operator is authorized to plug the cableinto the computing resource; determining whether the operator isauthorized to unplug the cable from the computing resource; commandingthe actuator to cause the locking feature to prevent the cable frombeing unplugged from the computing resource in an event the determiningindicates that the operator is unauthorized to unplug the cable from thecomputing resource; and commanding the actuator to cause the lockingfeature to permit the cable to be unplugged from the computing resourcein an event the determining indicates that the operator is authorized tounplug the cable from the computing resource.
 20. The method accordingto claim 19, wherein the determining and the commanding are executed atan operating system (OS) level or higher of the computing resource.